package com.zmn.plat.dubbo.interfaces.supplier;

import java.util.List;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;

import com.zmn.common.dto.VtDTO;
import com.zmn.common.dto2.ResponseDTO;
import com.zmn.plat.common.dto.supplier.ScmSupplierDRO;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

/**
 * 配件供应商远程服务
 *
 * @author duanzuocai
 * @version v1.0
 * @since 2018/10/18 19:22
 */
@Api(value = "配件供应商远程服务", tags = {"配件供应商"})
public interface ScmSupplierListRemoteService {

    /**
     * 描述:通过supplierId查询供应商
     * 
     * @param supplierId
     *            Integer
     * @return ResponseDTO<PartCategoryDRO>
     * @author DaiZhichao
     * @since 2018/11/9 16:39
     */
    @ApiOperation(value = "通过supplierId查询供应商", response = ResponseDTO.class, notes = "", tags = {"配件供应商"})
    ResponseDTO<ScmSupplierDRO> getBySupplierId(@NotNull(message = "supplierId不能为空") @Positive(message = "supplierId必须为大于0的正整数") @ApiParam(value = "供应商id", required = true) Integer supplierId);

    /**
     * 描述:获取供应商简单列表
     *
     * @return ResponseDTO<PartCategoryDRO>
     * @author DaiZhichao
     * @since 2018/11/9 16:39
     * @NotNull(message = "companyId不能为空")
     * @Positive(message = "companyId必须为大于0的正整数")
     */
    @ApiOperation(value = "获取供应商简单列表", response = ResponseDTO.class, notes = "", tags = {"配件供应商"})
    ResponseDTO<List<VtDTO>> listSupplierSimpleByCompanyId(@ApiParam(value = "公司ID", required = true) Integer companyId);
}
